#!/bin/bash

nginx=/opt/module/nginx/sbin/nginx
gmall_home=/opt/gmall0823
jar="gmall-logger-0.0.1-SNAPSHOT.jar"

# 日志的采集系统的开始和停止
case $1 in
"start")
# 在hadoop162开启 nginx 服务器
if [[ -z "`pgrep -f nginx`" ]]; then
   # 如果结果是 zero 表示nginx没有启动
    echo "在 hadoop162 上启动 nginx 服务器"
    $nginx
else
    echo "nginx 已经启动, 无需重复启动"
fi

# 162 163 164 分别开启日志服务器
for host in hadoop162 hadoop163 hadoop164 ; do
   # test=$(shell命令) 执行shell命令的赋值给变量test  通用
   # test=`shell命令` 执行shell命令的赋值给变量test
    test=$(ssh $host "jps | awk '/$jar/ {print \$1}'")
    if [[ -z "$test" ]]; then
         echo "在 $host 启动日志服务器..."
         ssh $host "nohup java -jar $gmall_home/$jar 1>$gmall_home/logger.log 2>$gmall_home/error.log &"
    else
        echo "$host 上的日志服务器已经启动, 无需重复启动"
    fi

done

;;

"stop")
echo "在 hadoop162 上停止 nginx 服务器"
$nginx -s stop

for host in hadoop162 hadoop163 hadoop164 ; do
    echo "在 $host 停止日志服务器..."
    ssh $host "jps | awk '/$jar/ {print \$1}' | xargs kill -9 "
done
;;
*)
   echo "你使用的姿势不对: "
   echo "   logger.sh start 启动日志采集: "
   echo "   logger.sh stop  停止日志采集: "
   ;;
esac
